Java的變數,依照其所在的位置、宣告的特性,可分為三種。
public class Simple {
public static void main(String[] args) {
int x = 5;
int y = 10;
int sum = x + y;
System.out.println("The sum of x and y is: " + sum);
}
}
// x、y、sum都是main方法內的區域變數。
class Dog {
String name; // 實體變數
Dog(String name) {
this.name = name; // 用 this 區分為實體變數
}
※若宣告為static,就會變成第三種「類別變數」(又稱靜態類別)。
public class MyClass {
static int classSize = 10 ; // 類別變數
public static void main(String[] args){
System.out.println("classSize(initial): " + MyClass.classSize);
MyClass obj1 = new MyClass(); // 創建MyClass的一個實體
obj1.classSize = 20; // 修改類別變數的值
System.out.println("classSize (obj1): " + MyClass.classSize);
MyClass obj2 = new MyClass(); // 創建MyClass的另一個實體
obj2.classSize = 40; // 修改類別變數的值
System.out.println("classSize (obj2): " + MyClass.classSize);
}
}
印出結果是:
classSize(initial):10
classSize (obj1):20
classSize (]obj2):40
目前classSize的值是40
常見使用的System.out.printl,其System就是類別變數之一;
而類別變數前面若加上final即被宣告為常數,其值不得任意更改,且變數名稱要改為全大寫。